/**
 * 练习：
1. 定义一个员工数组（id、name、age、address）
2. 定义一个函数，传递一个数组，找到年龄最大的员工
3. 定义一个函数，传递一个数组和名字，根据名字模糊搜索
4. 定义一个函数，按照年龄升序排列，返回这个数组。
 */
interface IEmp {
    id: number;
    name: string;
    age: number;
    address: string;
}
let emps: IEmp[] = [
    { id: 1, name: "小王", age: 23, address: "成都" },
    { id: 2, name: "小张", age: 24, address: "武汉" },
    { id: 3, name: "小吴", age: 22, address: "北京" }
]

function getMaxAagEmp(emps: IEmp[]) {
    const temp = emps.map(item => {
        return item.age
    })
    //Math.max获取一堆数据最大值 Math.max(...temp)
    const maxAge = Math.max.apply(emps, temp)
    const emp = emps.find(item => item.age == maxAge)
    return emp
}

function searchByName(emps: IEmp[], key: string): IEmp[] {
    const temp = emps.filter(item => {
        if (item.name.indexOf(key) != -1) {
            return true
        }
    })
    return temp
}


function orderByAes(emps: IEmp[]) {
    emps.sort((a, b) => {
        return a.age - b.age
    })
    return emps
}


